package com.genghis.rapidcrm.kernel.model;

public abstract class BaseLinkModel<T extends BaseLinkModel<T>> {

    protected abstract T getThis();

    protected Integer tabId;
    protected Integer linkId;
    protected String linkType;
    protected String linkLabel;
    protected String linkUrl;
    protected String linkIcon;
    protected Integer sequence;

    public Integer getTabId() {
        return tabId;
    }

    public T setTabId(Integer tabId) {
        this.tabId = tabId;
        return getThis();
    }

    public Integer getLinkId() {
        return linkId;
    }

    public T setLinkId(Integer linkId) {
        this.linkId = linkId;
        return getThis();
    }

    public String getLinkType() {
        return linkType;
    }

    public T setLinkType(String linkType) {
        this.linkType = linkType;
        return getThis();
    }

    public String getLinkLabel() {
        return linkLabel;
    }

    public T setLinkLabel(String linkLabel) {
        this.linkLabel = linkLabel;
        return getThis();
    }

    public String getLinkUrl() {
        return linkUrl;
    }

    public T setLinkUrl(String linkUrl) {
        this.linkUrl = linkUrl;
        return getThis();
    }

    public String getLinkIcon() {
        return linkIcon;
    }

    public T setLinkIcon(String linkIcon) {
        this.linkIcon = linkIcon;
        return getThis();
    }

    public Integer getSequence() {
        return sequence;
    }

    public T setSequence(Integer sequence) {
        this.sequence = sequence;
        return getThis();
    }
}
